package com.ly.heart.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.experimental.Accessors;

/**
 * 金蝶-其他入库单对象 erp_king_other_inbound_info
 *
 * @author cxl
 * @date 2024-08-03
 */
@TableName ("erp_king_other_inbound_info")
@ApiModel (value = "金蝶-其他入库单", description = "金蝶-其他入库单")
@Data
@Accessors(chain = true)
public class KingOtherInboundEntity {

    /** 主键id */
    @TableId (type = IdType.INPUT)
    private String id;

    /** 类型(0:其他入库 1:其他出库) */
    @ApiModelProperty ("类型(0:其他入库 1:其他出库)")
    @TableField ("type")
    @Excel (name = "类型(0:其他入库 1:其他出库)")
    private Integer type;

    /** 单据编号 */
    @ApiModelProperty ("单据编号")
    @TableField ("doc_code")
    @Excel (name = "单据编号")
    private String docCode;

    /** 单据类型（单据类型接口） */
    @TableField ("doc_type")
    @ApiModelProperty ("单据类型")
    @Excel (name = "单据类型")
    private String docType;

    /** 库存组织 */
    @ApiModelProperty ("库存组织")
    @TableField ("inventory_org")
    @Excel (name = "库存组织")
    private String inventoryOrg;

    /** 库存方向(普通；退货) */
    @ApiModelProperty ("库存方向(普通；退货)")
    @TableField ("inventory_direction")
    @Excel (name = "库存方向(普通；退货)")
    private String inventoryDirection;

    /** 日期 */
    @ApiModelProperty ("日期")
    @TableField ("inventory_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inventoryTime;

    /** 供应商id */
    @ApiModelProperty ("供应商id")
    @TableField ("supplier_id")
    @Excel (name = "供应商id")
    private String supplierId;

    /** 供应商编码 */
    @ApiModelProperty ("供应商编码")
    @TableField ("supplier_code")
    @Excel (name = "供应商编码")
    private String supplierCode;

    /** 部门id */
    @ApiModelProperty ("部门id")
    @TableField ("dept_id")
    @Excel (name = "部门id")
    private String deptId;

    /** 部门编码 */
    @ApiModelProperty ("部门编码")
    @TableField ("dept_code")
    @Excel (name = "部门编码")
    private String deptCode;

    /** 验收员 */
    @ApiModelProperty ("验收员")
    @TableField ("inspector")
    @Excel (name = "验收员")
    private String inspector;

    /** 仓管员 */
    @ApiModelProperty ("仓管员")
    @TableField ("management_by")
    @Excel (name = "仓管员")
    private String managementBy;

    /** 库存组 */
    @ApiModelProperty ("库存组")
    @TableField ("inventory_group")
    @Excel (name = "库存组")
    private String inventoryGroup;

    /** 货主类型 */
    @ApiModelProperty ("货主类型")
    @TableField ("cargo_owner_type")
    @Excel (name = "货主类型")
    private String cargoOwnerType;

    /** 货主 */
    @ApiModelProperty ("货主")
    @TableField ("cargo_owner")
    @Excel (name = "货主")
    private String cargoOwner;

    /** 创建人 */
    @ApiModelProperty ("创建人")
    @TableField ("create_name")
    @Excel (name = "创建人")
    private String createName;

    /** 最后修改人 */
    @ApiModelProperty ("最后修改人")
    @TableField ("last_update_name")
    @Excel (name = "最后修改人")
    private String lastUpdateName;

    /** 最后修改日期 */
    @ApiModelProperty ("最后修改日期")
    @TableField ("last_update_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "最后修改日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateTime;

    /** 审核人 */
    @ApiModelProperty ("审核人")
    @TableField ("examine_name")
    @Excel (name = "审核人")
    private String examineName;

    /** 审核日期 */
    @ApiModelProperty ("审核日期")
    @TableField ("examine_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examineTime;

    /** 作废状态 */
    @ApiModelProperty ("作废状态")
    @TableField ("invalid_state")
    @Excel (name = "作废状态")
    private String invalidState;

    /** 作废人 */
    @ApiModelProperty ("作废人")
    @TableField ("invalid_name")
    @Excel (name = "作废人")
    private String invalidName;

    /** 备注 */
    @ApiModelProperty ("备注")
    @TableField ("remark")
    @Excel (name = "备注")
    private String remark;

    /** 作废日期 */
    @ApiModelProperty ("作废日期")
    @TableField ("invalid_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "作废日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date invalidTime;

    /** 是否发送金蝶；1：是；2：否 */
    @ApiModelProperty ("是否发送金蝶；1：是；2：否")
    @TableField ("is_send")
    @Excel (name = "是否发送金蝶；1：是；2：否")
    private Integer isSend;

    /** 流程实例id */
    @ApiModelProperty ("流程实例id")
    @TableField ("instance_id")
    @Excel (name = "流程实例id")
    private String instanceId;

    /** 流程状态 */
    @ApiModelProperty ("流程状态")
    @TableField ("state")
    @Excel (name = "流程状态")
    private String state;

    /** 录入人 */
    @ApiModelProperty ("录入人")
    @TableField ("user_id")
    @Excel (name = "录入人")
    private String userId;

    /** 逻辑删除 */
    @ApiModelProperty ("逻辑删除")
    @TableField ("is_used")
    @Excel (name = "逻辑删除")
    @TableLogic
    private Integer isUsed;

    /** 创建时间 */
    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    /** 修改人 */
    @ApiModelProperty ("修改人")
    @TableField ("update_by")
    @Excel (name = "修改人")
    private String updateBy;

    /** 修改时间 */
    @ApiModelProperty ("修改时间")
    @TableField ("update_time")
    @JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss" )
    @Excel (name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateTime;

    @ApiModelProperty("业务type")
    @TableField (exist = false)
    private String businessType;

    @ApiModelProperty("流程模型id")
    @TableField (exist = false)
    private String modelId;

    @ApiModelProperty ("物料明细")
    @TableField(exist = false)
    private List<KingOtherInboundMaterialEntity> materialLists;




    @ApiModelProperty ("库存组织名称")
    @TableField(exist = false)
    private String inventoryOrgName;

    @ApiModelProperty ("供应商名称")
    @TableField(exist = false)
    private String supplierName;

    @ApiModelProperty ("部门名称")
    @TableField(exist = false)
    private String deptName;

    @ApiModelProperty ("验收员名称")
    @TableField(exist = false)
    private String inspectorName;

    @ApiModelProperty ("仓管员名称")
    @TableField(exist = false)
    private String managementByName;

    @ApiModelProperty ("库存组名称")
    @TableField(exist = false)
    private String inventoryGroupName;




}
